unit AboutFrm;

interface

uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls,
  Buttons, ExtCtrls;

type
  TAboutBox = class(TForm)
    Panel1: TPanel;
    ProgramIcon: TImage;
    ProductName: TLabel;
    Version: TLabel;
    Copyright: TLabel;
    Memo1: TMemo;
    Label1: TLabel;
    procedure Memo1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Memo1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure FormCreate(Sender: TObject);
  private

  public

  end;

function ShowAboutForm:Word;

implementation
uses ShellAPI;

{$R *.dfm}
function ShowAboutForm:Word;
begin
  with TAboutBox.Create(Application) do
  try
    Result := ShowModal;
    if Result = mrOK then ;
  finally
    Free;
  end;
end;

procedure TAboutBox.FormCreate(Sender: TObject);
begin
  ProgramIcon.Picture.Icon:=Application.Icon;
end;

procedure TAboutBox.Memo1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  if (X>50) and (X<270) and (Y>102) and (Y<116) then
  begin
    if Button=mbLeft then
      ShellExecute(0,'open','http://bcsky.net','','',SW_SHOW);
  end;
end;

procedure TAboutBox.Memo1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
  if (X>50) and (X<270) and (Y>102) and (Y<116) then
    TMemo(Sender).Cursor:=crHandPoint
  else
    TMemo(Sender).Cursor:=crDefault; 
end;

end.

